﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp7
{
    class Program
    {
        //        假设要完成一个学校的校园管理信息系统，在员工管理系统中有不同的人员信息，包括学生信息、教师信息等。

        //为学生信息、教师信息创建两个类，并在两个类中分别定义属性和方法，在学生类中定义编号（Id）、姓名（Name）、性别（Sex）、身份证号（Cardid）、联系方式（Tel）、专业（Major）、年级（Grade）7 个属性，
        //并定义一个方法在控制台输出这些属性的值。

        //用同样的方法创建教师信息类（Teacher），属性包括编号（Id）、姓名（Name）,性别 （Sex）、身份证号（Cardid）、联系方式（Tel）、职称（Title）、工资号（Wageno），并将上 述属性输岀到控制台。

        //将 Student 类和 Teacher 类中共有的 属性抽取出来定义为一个类Person
        class Person
        {
            private int id;
            private string name;
            private char sex;
            private int cardid;
            private int tel;


            public Person(int id, string name, char sex, int cardid, int tel)
            {
                this.Id = id;
                this.Name = name;
                this.Sex = sex;
                this.Cardid = cardid;
                this.tel = tel;
            }
            public int Id
            {
                get { return id; }
                set { id = value; }
            }
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            public char Sex
            {
                get { return sex; }
                set { sex = value; }
            }
            public int Cardid
            {
                get { return cardid; }
                set { cardid = value; }
            }
            public int Tel
            {
                get { return tel; }
                set { tel = value; }
            }
        }
        class Student : Person
        {
            //假设要完成一个学校的校园管理信息系统，在员工管理系统中有不同的人员信息，包括学生信息、教师信息等。

            //为学生信息、教师信息创建两个类，并在两个类中分别定义属性和方法，在学生类中定义编号（Id）、姓名（Name）、
            // 性别（Sex）、身份证号（Cardid）、联系方式（Tel）、专业（Major）、年级（Grade）7 个属性，
            //  并定义一个方法在控制台输出这些属性的值。

            //用同样的方法创建教师信息类（Teacher），属性包括编号（Id）、姓名（Name）,性别 （Sex）、身份证号（Cardid）、
            //联系方式（Tel）、职称（Title）、工资号（Wageno），并将上 述属性输岀到控制台。

            //将 Student 类和 Teacher 类中共有的 属性抽取出来定义为一个类Person

            private string major;
            private string grade;
            public Student(int Id, string Name, char Sex, int Cardid, int Tel, string major, string grade) :
            base(Id, Name, Sex, Cardid, Tel)
            {
                this.Major = major;
                this.Grade = grade;
            }

            public string Major
            {
                get { return major; }
                set { major = value; }
            }
            public string Grade
            {
                get { return grade; }
                set { grade = value; }
            }

            public void Hello()
            {
                Console.WriteLine("我的Id是{0}，我叫{1}，我的性别是{2}，我的身份证号是{3}，我的联系方式是{4}，" +
                    "我的专业是{5},我的班级是{6}", this.Id, this.Name, this.Sex, this.Cardid, this.Tel, this.Major, this.Grade);
            }
        }
        class Teacher : Person
        {
            private string title;
            private int wageno;
            public Teacher(int Id, string Name, char Sex, int Cardid, int Tel, string title, int wageno) :
                base(Id, Name, Sex, Cardid, Tel)
            {
                this.Title = title;
                this.Wageno = wageno;
            }


            public string Title
            {
                get { return title; }
                set { title = value; }
            }
            public int Wageno
            {
                get { return wageno; }
                set { wageno = value; }
            }
            public void Hello1()
            {
                Console.WriteLine("我的Id是{0}，我叫{1}，我的性别是{2}，我的身份证号是{3}，" +
                    "我的联系方式是{4}，我的职称是{5}，我的工资号是{6}", this.Id, this.Name, this.Sex, this.Cardid, this.Tel,
                    this.Title, this.Wageno);
            }
        }
    }
}
